Inferring Program Specifications in Polynomial-Time

نویسنده

  • Robert Givan
چکیده

We consider the problem of automatically inferring properties of programs. Our approach is to explore the application of familiar type inference principles to a \type system" suuciently expressive that the typing problem is eeectively the checking of program speciications. We use familiar syntax-directed type inference rules to give a polynomial-time procedure for inferring type theorems in this rich type system. We discuss examples of simple functional programs and the speciication information this procedure automatically infers. The enriched notion of type allows the deenition of any recursively enumerable set as a type, and includes argument-dependent output types for functions. The inference procedure is capable for example of automatically inferring that an insertion sort program always returns a sorted permutation of its input.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Analysing All Polynomial Equations in Z2w

In this paper, we present methods for checking and inferring all valid polynomial relations in Z2w . In contrast to the infinite field Q, Z2w is finite and hence allows for finitely many polynomial functions only. In this paper we show, that checking the validity of a polynomial invariant over Z2w is, though decidable, only PSPACE-complete. Apart from the impracticable algorithm for the theoret...

متن کامل

Inferring Channel Buffer Bounds Via Linear Programming

We present a static analysis for inferring the maximum amount of buffer space used by a program consisting of concurrently running processes communicating via buffered channels. We reduce the problem to linear programming by casting the analysis as a fractional capability calculus system. Our analysis can reason about buffers used by multiple processes concurrently, and runs in time polynomial ...

متن کامل

Inferring Programmer Intent and Related Errors from Software

Software is difficult to write and maintain. Much of the challenge in developing a program lies in specifying it—understanding precisely what it should be doing. Both human-oriented tasks (like fixing a bug) and automated tasks (like mechanical verification) require knowledge of a program’s intended behavior. For the vast majority of software projects, though, complete and well-documented speci...

متن کامل

A Minimum Spanning Tree Framework for Inferring Phylogenies

A Minimum Spanning Tree Framework for Inferring Phylogenies by Daniel Giannico Adkins Doctor of Philosophy in Computer Science University of California, Berkeley Professor Satish B. Rao, Chair This dissertation discusses how to write efficient, deterministic programs to infer phylogenetic trees. These programs are based on a theoretically optimal polynomial time algorithm. The programs are prac...

متن کامل

A Unified Approach for Design of Lp Polynomial Algorithms

By summarizing Khachiyan's algorithm and Karmarkar's algorithm forlinear program (LP) a unified methodology for the design of polynomial-time algorithms for LP is presented in this paper. A key concept is the so-called extended binary search (EBS) algorithm introduced by the author. It is used as a unified model to analyze the complexities of the existing modem LP algorithms and possibly, help ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996